// 教师类：继承自Person
public class Teacher extends Person {
    private Course taughtCourse; // 教授的课程

    // 子类构造方法（调用父类构造器）
    public Teacher(String id, String name, String gender) {
        super(id, name, gender); // 必须放在第一行
    }

    // 开设课程方法
    public void offerCourse(Course course) {
        this.taughtCourse = course;
        course.setTeacher(this); // 绑定课程与教师
        System.out.println(name + "（教师编号：" + id + "）开设了课程《" + course.getCourseName() + "》");
    }

    // 重写父类抽象方法：打印教师信息
    @Override
    public void printInfo() {
        String courseName = (taughtCourse != null) ? taughtCourse.getCourseName() : "无";
        System.out.println("教师信息：编号=" + id + ", 姓名=" + name + ", 性别=" + gender + ", 教授课程=" + courseName);
    }

    // Getter方法
    public Course getTaughtCourse() {
        return taughtCourse;
    }
}
